/*
	This file is part of Qonverter.
	
	Qonverter is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.
	
	Qonverter is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.
	
	You should have received a copy of the GNU General Public License
	along with Qonverter.  If not, see <http://www.gnu.org/licenses/>.
	
	Copyright 2012 - 2013 Martin Rotter
*/

#ifndef FORMCURRENCYCONVERTER_H
#define FORMCURRENCYCONVERTER_H

#include <QWidget>

#include "ui_formcurrencyconverter.h"


namespace Ui {
  class FormCurrencyConverter;
}

class FormCurrencyConverter : public QWidget {
    Q_OBJECT

  public:
    // Constructors and destructors.
    explicit FormCurrencyConverter(QWidget *parent = 0);
    ~FormCurrencyConverter();

    QDoubleSpinBox *getInput();

    static FormCurrencyConverter *getInstance();

  protected:
    void initialize();

  public slots:
    void manageConvertedResult(double result);

  protected slots:
    void requestConversion();

  signals:
    void conversionWanted(double input_value,
                          const QString &input_currency,
                          const QString &output_currency);

  private:
    Ui::FormCurrencyConverter *m_ui;

    static FormCurrencyConverter *s_instance;
};

#endif // FORMCURRENCYCONVERTER_H
